Asynchronous product unpublication through the GraphQL API
Major Upgrade
In this release, we’ve added the ability to asynchronously unpublish products via our GraphQL APIs. This feature will enable Marketplace Managers to unpublish either individual products or multiple products at the same time with validation and real-time status tracking to ensure data integrity of products is maintained.
📝 Note: Due to infrastructure limitations, the feature will not be available for some customers. For more information on feature availability, contact your AppDirect technical representative.
Customer impacts
- API-driven unpublication
Enables programmatic unpublication of products without requiring UI access—ideal for fully automated, headless commerce systems. - Operational resilience
Asynchronous processing ensures deletion operations are resilient to system failures, with automatic retries and comprehensive error tracking. - Real-time process visibility
Query process status and handle errors through API, ensuring transparency and traceability for long-running operations. - Bulk operations support
Efficient handling of multiple product unpublications simultaneously, ideal for large-scale catalog management, seasonal product removal, and automated lifecycle management. - Robust validation and safety
Comprehensive pre-unpublication validation prevents accidental unpublication of products with active dependencies like purchase orders or marketplace associations. - Consistent architecture
Follows proven Temporal workflow patterns, ensuring maintainability and consistency across product lifecycle operations.
Key changes and enhancements
Aspect | Changes |
---|---|
API access | Introduced GraphQL mutation triggerProductUnpublicationProcess and query productUnpublicationProcess . |
Processing model | Asynchronous. |
Validation | Multi-stage checks for purchase orders, marketplace associations, and application status. |
Data cleanup | Removes published versions of products while preserving working copies. |
Error handling | Structured error responses with specific error types: DuplicateUnpublicationTriggeredError , MonolithUnpublicationError . |
Process tracking | Process tracking with status transitions (STARTED → UNPUBLISHING → COMPLETED/ERRORED). |
Bulk support | Processes multiple product unpublications in parallel, with individual tracking. |
Authorization | Role-based access control supporting ROLE_CHANNEL_ADMIN with planned ROLE_PARTNER support. |
GraphQL API changes
New mutation:
triggerProductUnpublicationProcess
- Purpose: Initiates asynchronous unpublication for one or more products.
- Input:
- TriggerProductUnpublicationProcessInput: Accepts an array of product IDs.
- Response:
- TriggerProductUnpublicationProcessPayload: Returns process tracking information.
New query:
productUnpublicationProcess
- Purpose: Retrieves unpublication process status and details by process ID.
- Response: Provides real-time status updates and error information for monitoring long-running operations.
Validation enhancements
- Products must be currently published to be eligible for unpublication.
- Products with active purchase orders cannot be unpublished.
- Duplicate unpublication requests are automatically rejected.
- Comprehensive permission checks based on user roles and product ownership.
Feature enablement
No feature enablement is required.
Setting enablement
No setting enablement is required.
Documentation
Refer to GraphQL reference documentation.
Was this page helpful?
Tell us more…
Help us improve our content. Responses are anonymous.
Thanks
We appreciate your feedback!